1. Field
One or more example embodiments of the following description relate to the field of audio processing, and more particularly relates to processing audio data.
2. Description of the Related Art
Audio is captured at various sampling rates depending on required signal quality and available bandwidth for transmission. For example, 48 kHz for professional audio systems (DAT), 44.1 kHz for consumer digital audio (CD) and 32 kHz for digital satellite radio (DSR). This requires audio systems to support playback of audio with different input sampling rates. Also, integration of various audio components in a multimedia system requires change in sampling rate of audio at the interface. For example, most of low power embedded systems have Digital to Analog converters (DAC) that are designed to accept audio data at one particular sampling frequency. Embedded audio playback systems therefore have a dedicated hardware block or software module to perform real time sample rate conversion of audio.
Traditional time domain sample rate converters (SRC) algorithms are computationally intensive and require large memory for high quality output. Frequency domain sample rate converters, when used as stand-alone converters in audio pipeline with compressed input streams; involve the overhead of multiple time—frequency domain inter-conversions. Also, existing SRC implementations in audio playback systems perform resampling in one domain i.e., either time domain or frequency domain, irrespective of resampling ratio. This results in performance degradation of system both in terms of million instructions per second (MIPS) and output quality.
FIG. 1 is a block diagram illustrating a conventional audio processing pipeline 100 in a playback system. In FIG. 1, the audio processing pipeline 100 includes an audio decoder 102 and a sample rate converter 104. The audio decoder 102 decodes encoded audio bitstream 106 and outputs decoded audio data. The sample rate converter (SRC) 104 acts as standalone component which is independent of the audio decoder 102. The decoded audio data 108 is fed as input to the SRC 104. The SRC 104 transforms the decoded audio data from time domain to frequency domain, processes modifies spectrum of the decoded audio data in frequency domain to obtain desired number of audio samples per frame and finally converts the modified spectrum of audio data to time domain to output resampled audio data 110. The cost of resampling increases with above technique because the time and frequency domain inter-conversions are computationally intensive.